Natural Language Processing (NLP) is a field of Artificial Intelligence (AI) in which computer systems parse, understand and communicate with human-like language. Humans communicate with language and it is highly beneficial for computing systems to be able to communicate and understand language in this way as it permits more fluid interaction between a machine and an operator.
A predominant way in which people find information and interact with computing systems is to use search engines where they type their query in some form to receive a response. These started as simple keyword searches. In database systems, when searching for data, knowledge of a query syntax or language like SQL is sometimes required. Over time, searching has become more sophisticated and, with the introduction of NLP, users in some systems can simply ask a question and hopefully the AI behind the system will produce an appropriate answer.
Unfortunately, directly translating these NLP statements into some form of a query language, like SQL, has been known to have poor performance and accuracy. This is due to the intricacy of understanding complex search semantics combined with the ambiguity of language with the additional complexity of machine translation.
User interfaces are primarily used as a method of navigation and filtering a set of data or information to analyze. Methods of filtering using user selectable interfaces can for example exclude certain portions of the data which does not meet certain criteria. These filters can be a single discrete filter or a combination of filters which could enable the user to find better insights of their data. User interfaces can also be described as a form of a single or multiple manipulatable data visualizations.
Against this background, there is a need for solutions that will mitigate at least one of the above problems, particularly an improved system for processing natural language requests.